Operation Doom-mouse

Kinja'd!!! "MM54" (mm54mk2)
01/27/2018 at 16:35 • Filed to: COMPUTERLOPNIK

Kinja'd!!!2 Kinja'd!!! 7

As some may recall, the mouse controls for The Classic game of DOOM are kind of weird, by modern standards. Moving the mouse left/right quite reasonably makes the view look left/right, but moving the mouse forwards/back, makes the player walk. While 20 years ago this is just how it was, these days we are used to more standard ‘mouse=look’ controls. I decided to do something about it.

Kinja'd!!!

Annoyingly, a joystick works the same way, where x-axis is look, and y-axis is run. Bummer.

Now, when running Doom under DOS, there is a well-known component that can be run which blocks the mouse’s vertical axis. Modern ports have changed the control all together, or allow options to enable/disable such behavior. There is no such solution for Doom95 (from ‘The Ultimate Doom’ CD), and seemingly no way to change this in software.

Fortunately, with a little knowledge of how a ball mouse works and a little time, we can make a mouse which only has an x-axis. First we need a spare PS/2 ball mouse, such as the one seen above recovered from the trash at work. After verifying it to be fully functional, the process begins.

Kinja'd!!!

This did not want to come apart. There was one screw in the ball-hole, and some clips up by the buttons. One broke a little.

Biting into the creamy nougat center of the mouse yields no surprises. For those not familiar - here’s what we’re looking at: in the large hump in the center, the ball resides. The lower-left white wheel-on-a-spring holds the rubber ball snug against the two black rollers. When the mouse is moved, the ball rolls, and spins these rollers. There is one roller for the X-axis, and one for the Y-axis. On the large end of each roller, there is an optical encoder.

Kinja'd!!!

An optical encoder is a wonderful, simple way to track something which is rotating. As can be seen above, the wheel has many little cuts in it. The clear part (near the print “D2") is an LED - it simply shines a light on the wheel. The magic happens in the black plastic part on the other side of the slotted wheel - as the wheel turns, the light pulses on this part, known as a photo-receptor. Some other circuitry then converts this pulse speed into how quickly the wheel is turning, which then determines how quickly the cursor will move on your screen in that axis.

So how do we disable the Y-axis? Well, there are a lot of ways you could do it, such as removing that roller, removing the diode, removing the photocell, or a host of other options. There is an easier, reversible way, though.

Kinja'd!!!

Since the LED just shines a light through the wheel, if we put some electrical tape around it, the light will not flicker on the other side, so the mouse will never register this axis as moving. We have now made an x-axis-only mouse.

Kinja'd!!!

It is important to finish your tea around the same time you complete re-assembly.

After cleaning where the ball rides on the rollers (for smoother action!) and some quick re-assembly of the mouse, it’s time for testing. Upon plugging into the computer, both buttons and the wheel work as before, however moving the mouse in circles results it the cursor only moving exactly left and right - no vertical movement. This means, in Doom, no more accidental walking.

Kinja'd!!!

E1M6


DISCUSSION (7)


Kinja'd!!! jimz > MM54
01/27/2018 at 17:11

Kinja'd!!!0

Yeah, the days before everyone standardized on the “mouse + WASD” control scheme. I actually played through Doom (back when it first came out) using a keyboard and joystick. Not long afterward (when mouselook arrived) I had to seriously re-adjust.

Nowadays I just fire up a source port like Doomsday and play that. It’s inauthentic but I prefer the modern mechanics. And using the background music from the PlayStation version.


Kinja'd!!! TheTurbochargedSquirrel > MM54
01/27/2018 at 17:13

Kinja'd!!!5

Who plays Doom with a mouse?


Kinja'd!!! MM54 > TheTurbochargedSquirrel
01/27/2018 at 17:55

Kinja'd!!!2

The same people who on consoles set the controller sensitivity absurdly high :)


Kinja'd!!! Chariotoflove > TheTurbochargedSquirrel
01/27/2018 at 17:56

Kinja'd!!!1

Right. This is cool and all, but I just did it with the keyboard.


Kinja'd!!! MM54 > jimz
01/27/2018 at 17:57

Kinja'd!!!0

That’s fair. I’ve never played with solely a keyboard, so I figure why put myself through the learning curve when I’m competent-ish at mouse+arrow keys.

I have a port of Doom on my xbox360, it stays true to original as much as possible, but does have the benefit of “normal” controls. Some times though, you just want to fire up windows 95 and kill some hellspawn :)


Kinja'd!!! cluelessk > MM54
01/27/2018 at 18:41

Kinja'd!!!1

I recently built a cheap gaming pc and learning to use just a mouse and keyboard is do difficult.

Didn’t help I forgot mouse acceleration on for a few months...


Kinja'd!!! Duck Duck Grey Duck FTMFW! > MM54
01/27/2018 at 23:29

Kinja'd!!!1

So many cheat codes just came flashing back reading this.